home *** CD-ROM | disk | FTP | other *** search
/ Chip 1996 April / CHIP 1996 aprilis (CD06).zip / CHIP_CD06.ISO / hypertxt.arj / 9508 / MSTEST.CD < prev    next >
Text File  |  1996-03-22  |  11KB  |  174 lines

  1.           @VMicrosoft Test 3.0@N
  2.  
  3.           @VAutomata belsô ellenôr@N
  4.  
  5.               A  fôleg  felhasználói  szoftvereirôl  híres   Microsoft
  6.           programfejlesztô  eszközei  csak  egy  szûkebb  kör  számára
  7.           ismertek.    Közülük    sem    mindenki    találkozott     a
  8.           programellenôrzésre alkalmas Microsoft Testtel.
  9.               Napjainkban  egyre  nagyobb   szerepet  kapnak  a   nagy
  10.           létszámú   programozócsoportok   által   fejlesztett    nagy
  11.           rendszerek. Ez a felállás nem kedvez a hibák felderítésének,
  12.           hiszen egy  sok funkcióval  rendelkezô program  hibái akár a
  13.           mûveletek sorrendjétôl függôen is rejtve maradhatnak.  Mivel
  14.           a Windows és Windows NT alatt futó programok többnyire  ebbe
  15.           a    csoportba   tartoznak,    a   Microsoft    automatizált
  16.           tesztrendszert jelentetett meg erre a két platformra.
  17.               Az automatizált ellenôrzés nagy elônye, hogy elkészítése
  18.           csak egyszeri ráfordítást igényel -- noha ez hosszabb,  mint
  19.           az egyszeri, kézi ellenôrzés --, ám ismételt futtatása  ezek
  20.           után  emberi  beavatkozás  nélkül,  lényegesen  rövidebb idô
  21.           alatt is megoldható. Alapos teszteléshez elkészíthetô  tehát
  22.           olyan módszer, ahol  a nappal létrehozott  program mûködését
  23.           az  automatizált  éjszakai  tesztelés  után  egy   naplófile
  24.           alapján lehet ellenôrizni.  Mivel egy Windows  alapú program
  25.           viselkedését  nagyban  befolyásolja  a  környezet   állapota
  26.           (szabad erôforrások stb.), a tesztrendszernek ezeket a külsô
  27.           körülményeket is kézben kell tartania.
  28.               A Test  Windows 3.1  vagy Windows  NT környezetben képes
  29.           programok  gépesített   tesztelését  elvégezni.   32  bites,
  30.           Windows  NT  alatti   tesztelést  Intel,  Alpha   vagy  MIPS
  31.           processzoros  rendszerekben  végezhetünk.  A  Test elosztott
  32.           rendszerben, NetBIOS-kompatiblis hálózaton is fut.  Alapvetô
  33.           feladata  egy elôre  meghatározott tesztadatsorral  (felvett
  34.           makróval vagy programozott script-állománnyal) ellenôrizni a
  35.           Windows    alatt    futó    programok    helyes   mûködését,
  36.           összehasonlítva a kimenet különféle fajtáit egy etalonnal.
  37.               A  tesztállomány  létrehozásának  egyszerûbb  módszere a
  38.           felvett  makrók  alkalmazása.   Ebben  az  esetben   fizikai
  39.           egérmozgatás   és/vagy   billentyûzet   használata   szolgál
  40.           ellenôrzésre. A  módszer elônye,  hogy hatása  a programozás
  41.           közben  is  azonnal megfigyelhetô;  hátránya,  hogy bizonyos
  42.           dolgok (pl. programindítás kettôs kattintással) nem  biztos,
  43.           hogy  minden  esetben  azonos módon  zajlanak  le,  így csak
  44.           korlátozottan használhatók fel.
  45.               Bonyolultabb tesztsorozatok hozhatóak létre a Test saját
  46.           programozási nyelvének,  a TestBasicnek  a felhasználásával.
  47.           Ebben   az   esetben   gyakorlatilag   teljes    ellenôrzést
  48.           gyakorolhatunk   a   futtatott   program   felett.   Maga  a
  49.           tesztleírás (script) a jól ismert Basic programozási nyelvre
  50.           épített parancskészletet használhat fel, kiegészítve egy sor
  51.           hasznos  lehetôséggel.  Ezek  közé  tartozik  a   feltételes
  52.           fordítás,  a  C  nyelvre  emlékeztetô  makrók  használata, a
  53.           többféle strukturált ciklus, az elágazó Case, függvények  és
  54.           szubrutinok; a  TestBasic tudása  körülbelül annyira  tér el
  55.           egy valódi Basic nyelvtôl, mint a WinWord WordBasicje vagy a
  56.           Visual  Basic.  Fordításkor  kiértékelt  kifejezésekkel   és
  57.           szimbólumokkal gyakorlatilag  egy assembler  vagy C  fordító
  58.           által  nyújtott  szabadságot  élvezhetünk.  Lemezkezelést  a
  59.           ""szokásos" file-mûveletekkel (OPEN,  GET, PUT, CLOSE,  SEEK
  60.           stb.)  valósíthatunk  meg;  a  rendszer  megkülönbözteti   a
  61.           bináris és szöveg állományokat.
  62.               A  windowsos  környezethez  alkalmazkodva  a   TestBasic
  63.           alkalmas DLL-felhasználásra  és a  szabad memória  méretének
  64.           változtatására is.  Az eseményvezérelt  jellegû alkalmazások
  65.           igényeihez alkalmazkodik  a visszahívásos,  ablakkezelô vagy
  66.           dialógus (callback, window vagy dialog) pointerek  kezelése.
  67.           A  fellépô hibákat  és eseményeket  (pl. ablak  létrehozása,
  68.           törlése,  megszakítások)  kivételekként  kezelhetjük.  Ez  a
  69.           lehetôség  még  a Windowst  használók  rémálmára, az  UAE-re
  70.           (Unrecoverable Application Error) is vonatkozik, hiszen  egy
  71.           alapos tesztelés nélküli program  okozhat ilyen hibát is.  A
  72.           pointeraritmetika nem éri el a szabványos C szintjét, ám így
  73.           is jól használható. A TestBasic programozás során nem kapunk
  74.           azonnal visszajelzést a programról, annak futtatásáról külön
  75.           funkció gondoskodik. Maga a program forráskódként hordozható
  76.           a különbözô platformok  között, futtatáskor azonban  p-kóddá
  77.           fordul.   Ezzel    a   módszerrel    csökken   a    futtatás
  78.           erôforrásigénye,  és  sebességi elônyre  is  szert tesz  egy
  79.           tisztán interpreteres megvalósításhoz képest.
  80.               A bemeneti adatok szolgáltatása utáni feladat a  kimenet
  81.           állapotának tárolása, az eltérések naplózása. A vizsgálat  a
  82.           grafikus megjelenítésen kívül vezérlôk (control) állapotára,
  83.           helyzetére  vonatkozhat,   bonyolultabb  esetekben   DDE  és
  84.           hálózati  kommunikációs  állapotot is  elemezhetünk.  Mind a
  85.           DDE, mind a hálózati  rész lehetôvé teszi kliens  és szerver
  86.           megvalósítását.
  87.               Hálózati forgalom mellett a Test javaslatot tesz  néhány
  88.           kiemelt Windows paraméterre, így például idôzítési problémák
  89.           miatt nem  javasolja képernyôvédô  alkalmazás futtatását.  A
  90.           vezérlôk esetében a helyzet és az állapot helyességén  kívül
  91.           lekérdezhetôk  akár  az  ismétlôdô  hotkey  kombinációk  is,
  92.           természetesen   minden   alap   Windows   vezérlôre    saját
  93.           függvénycsoport  vonatkozik. Mindezeket  az ablakokra,  mint
  94.           speciális   vezérlôkre   is   alkalmazhatjuk   (átméretezés,
  95.           elhelyezkedés,  ablak   megkeresése  stb.).   A  vezérlôknél
  96.           közvetlenül beavatkozhatunk a  billentyûzet és/vagy az  egér
  97.           tevékenységét   rögzítô  sorba   (queue),  természetesen   a
  98.           begépelt   szövegen   kívül    a   gépelés   sebessége    is
  99.           változtatható.
  100.               Windows NT alatt a Test megkülönbözteti az egyes  szálak
  101.           (thread)  ""saját  billentyûzetének"  állapotát.  Windows NT
  102.           környezetben a szigorú  jogosultsági ellenôrzés miatt  külön
  103.           figyelmet  kell  fordítani  a  tesztelt  program   futtatási
  104.           keretére. (A teszt script feladata a processz létrehozása és
  105.           konzolablakának megnyitása.) Talán a legfurcsább  alkalmazás
  106.           a DOS ablakban futó  programok állapotának követése; erre  a
  107.           kézikönyv  DOS  ablakban  futtatott  C  fordítást  hoz   fel
  108.           példaként,  amelynek   állapotát  folyamatosan   követi  egy
  109.           állapotablak.  Az  átirányítások  kezelésére  néhány esetben
  110.           globális  Windows  paraméter  beállításra  lehet  szükség (a
  111.           pipe-buffer   méretének   növelése).   Åtirányított  kimenet
  112.           ellenôrzésével oldható  meg például  DOS ablakban  futtatott
  113.           program kimenetétôl függô végrehajtás.
  114.               A  képernyôtartalom egyezése  jelenthet teljes  egyezést
  115.           vagy  fuzzy, nem  pixelre megegyezô  azonosságot. Ez  utóbbi
  116.           bizonyos szabadságot  enged meg  a hasonlításoknál.  További
  117.           lehetôség a változó képrészletek (órák, dinamikus  vezérlôk)
  118.           vizsgálatának letiltása; ezeket a részleteket kizárhatjuk az
  119.           elemzésbôl.  A   valamilyen  okból   érdekes  képeket   vagy
  120.           dialóguselemeket     képkönyvtárakba     menthetjük.      Az
  121.           egyezésvizsgálatok elôtt  megtekinthetô az  etalon képernyô,
  122.           majd   csak   az   eltéréseket   kiemelô   ábra.   A   fuzzy
  123.           egyezésvizsgálatot  nem  tudtuk  alaposan  tesztelni; néhány
  124.           egyszerûbb példánál kielégítô eredményeket értünk el vele.
  125.               Az  alap  Basicnél   fejlettebb  lehetôségek  a   teljes
  126.           rekurzió,  a  dinamikus  memóriakezelés  és  a   file-listák
  127.           alkalmazása. A file-listák létrehozása és szerkesztése olyan
  128.           felsorolást hoz létre,  amely tetszôlegesen bonyolult  módon
  129.           válogatott és  szûrt file-azonosítókat  tartalmaz. Ezeket  a
  130.           @KFOR...NEXT@N  speciális   változatával  tudjuk   kezelni;  így
  131.           oldható meg például  egy dinamikusan bôvíthetô  tesztsorozat
  132.           összeállítása. A tesztelôcsoport  feladata csak a  megfelelô
  133.           névvel ellátott script  állományok létrehozása, amelyeket  a
  134.           fôprogram automatikusan, például éjszaka képes elindítani.
  135.               A  Test  része  az Interface  Editor,  amely  a scriptek
  136.           rendelkezésére  álló  dialógusok  és  menük   szerkesztésére
  137.           használható.   Segítségével   ""közönséges"   ablakokon   és
  138.           menüsorokon kívül teszt-menük  (Test System Menus)  hozhatók
  139.           létre; az utóbbi csoport a scriptbôl menüként és ikonsorként
  140.           hívható    elô.    A    dialógusok    szerkesztésénél     az
  141.           objektumorientált   rendszer    paraméterei   a    Microsoft
  142.           programjaitól megszokott módon módosíthatóak. A  megalkotott
  143.           objektumok   külsô  erôforrásként   emelhetôk  a   scriptbe,
  144.           szabadon  megválasztható  paraméterekkel  (pl.  minimalizált
  145.           indítás).
  146.               A  32 bites  NT és  a 16  bites Windows  3.1  platformra
  147.           készült változat között nagyon fontos különbség az utóbbiban
  148.           fellépô 16 bites globális, stack és string  hosszkorlátozás.
  149.           A rendszer  a Windows  3.1 alatti  futási idôben  elôforduló
  150.           túllépéseket hibaüzenetként  teszi feldolgozhatóvá.  A többi
  151.           eltérés zömében erre vezethetô vissza, illetve a Windows  NT
  152.           alatti    különleges    szolgáltatásokra    (pl.    deadlock
  153.           elkerülése).   A   Test  automatikusan   kezeli   az  adatok
  154.           szóhatárra igazítását nem Intel processzorok esetében.
  155.               A Microsoft Test felsorolt tulajdonságai miatt  kitûnôen
  156.           alkalmas Windows  alatti helyességellenôrzésre.  A kézikönyv
  157.           ugyan  nem  emeli  ki  a  lehetôséget,  ám  figyelemre méltó
  158.           demókat  sikerült  létrehoznunk  a  segítségével.  (Igaz,  a
  159.           rendszer mérete meghaladja  a csak demóírásra  kifejlesztett
  160.           programokét.)  Összességében  a  Microsoft  Test sokoldalúan
  161.           alkalmazható   segédeszköz  a   Windows  alatti   fejlesztés
  162.           támogatására.
  163.  
  164.           @KVisegrády Tamás@N
  165.  
  166.               @KTovábbi  információk:  Microsoft  Szoftver   Információ,
  167.           @Ktel.: 2-MSINFO (267-4636)@N
  168.  
  169.           @<9508\TEST1.GIF>■■@N  Nem játék -- TESZT!
  170.  
  171.           @<9508\TEST2.GIF>■■@N  ... valamint a forráskód részlete
  172.  
  173.           @<9508\TEST3.GIF>■■@N  Válogatás a példák között
  174.